/*
Copyright [2023] [fuwen_soft]
*/
package vip.xiaonuo.modular.xylogy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.core.pojo.page.PageResult;
import vip.xiaonuo.modular.xylogy.entity.XyLogy;
import vip.xiaonuo.modular.xylogy.form.*;
import vip.xiaonuo.modular.xylogy.param.XyLogyParam;
import java.util.List;

/**
 * 族谱书service接口
 *
 * @author yanwei
 * @date 2023-05-05 15:44:28
 */
public interface XyLogyService extends IService<XyLogy> {

    /**
     * 查询族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    PageResult<XyLogy> page(XyLogyParam xyLogyParam);

    /**
     * 族谱书列表
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    List<XyLogy> list(XyLogyParam xyLogyParam);

    /**
     * 添加族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void add(XyLogyParam xyLogyParam);

    /**
     * 删除族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void delete(List<XyLogyParam> xyLogyParamList);

    /**
     * 编辑族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
    void edit(XyLogyParam xyLogyParam);

    /**
     * 查看族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
     XyLogy detail(XyLogyParam xyLogyParam);

    /**
     * 导出族谱书
     *
     * @author yanwei
     * @date 2023-05-05 15:44:28
     */
     void export(XyLogyParam xyLogyParam);

    void createLogy(LogyForm logyForm);

    // 是否有绝对权限?
    void isAllAuthException(String userId, String logyId);

    void authLogys(LogyAuthForm logyAuthForm);

    void privateData(LogyPrivateForm logyPrivateForm);

    void editAuth(LogyEditAuthForm logyEditAuthForm);

    void authLogysNew(LogyAuthNewForm logyAuthForm);

    void editAuthNew(LogyEditAuthNewForm logyEditAuthNewForm);
}
